Various types of computing environments are utilized by businesses according to their computing needs. One type of computing environment is a static or distributed-based computing environment. In this type of environment, each application is associated with its own dedicated resource such as a processor. A static computing environment can become very expensive depending on the number of applications being used. Also, the resources in a static environment are under-utilized and wasted. Therefore, many businesses that implement a static environment desire to migrate to a dynamic or virtualized computing environment where fewer resources are required and groups of applications share the same resources.
However, migrating from a static computing environment to a virtualized environment creates various problems. As stated above, applications share and compete for resources in a virtualized computing environment. Distributed-based customers with large middleware infrastructures may not have non-functional requirements such as relative business priority or response time goals defined for every (or any) application that is to be deployed to a goals-based shared middleware environment such as WebSphere Extended Deployment. This is because applications within a static computing environment are each allocated a separate resource.
Therefore, the virtualized environment does not comprise the relative priorities and non-functional requirements such as response-time goals for the migrated applications that are needed to mange the shared resources of the environment. Furthermore, assigning/evaluating the aforementioned non-functional requirements can be politically difficult due to the subjectivity of the decisions. Also, manual (and subjective) evaluation can be resource intensive and can yield inaccurate results. Furthermore, the management of non-functional requirements over time; ensuring the accuracy of existing policies; and defining new policies can be extremely difficult.
Capacity Planning Teams and Project Strategy Teams, for example, can determine up front non-functional requirements such as business priority and response-time goals as part of the formal application development process. This static definition process is only successful when the process has been executed. However, this process may not have been executed (and therefore the definitions do not exist) if a service-policy-based infrastructure has been applied to a set of applications after the non-functional requirements have been defined and gathered.
Therefore a need exists to overcome the problems with the prior art as discussed above.